#pragma once


#include "CommonStd.h"


#if ( NORMAL_MODE )

class Number
{
	relative_type m_decimal;
	int m_binary[MAX_BIT_SIZE];


public:
	Number( relative_type dec );
	Number( int* bin );
	~Number( void );
	

	relative_type decimal( void ) const { return m_decimal; }	
	int* binary( void ) { return m_binary; }


private :
	void ConvertBinary( relative_type dec );
	void ConvertDecimal( int* bin );	
};

#else

class Number
{
	std::string m_decimal;
	std::string m_binary;


public:
	Number( std::string val, NumberType::Enum number_type );
	~Number( void );
	

	std::string decimal( void ) const { return m_decimal; }	
	std::string binary( void ) const { return m_binary; }


private :
	void ConvertBinary( std::string dec );
	void ConvertDecimal( std::string bin );
	size_t FindFirst( std::string src );
};

#endif

